package com.myway.utils;

import java.util.Map;

import org.apache.commons.lang.StringEscapeUtils;

/**
 * 类名称：HtmlElementUtil <br/>
 * 类描述：表单工具类 <br/>
 * 创建时间：2015年11月16日 下午8:17:55 <br/>
 * @author 张涛
 * @version V1.0
 */
public class HtmlElementUtil {
	
	/**
	 * 名称：createAutoSubmitForm <br/>
	 * 描述：构造一个在页面加载完成自动提交的表单，可用于post表单数据（请求支付）等等。 <br/>
	 * @param params
	 * @param actionUrl
	 * @param charset
	 * @return
	 */
	public static String createAutoSubmitForm(Map<String, String> params,
			String actionUrl, String charset) {
		StringBuffer sb = new StringBuffer();
		sb.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		sb.append("<html>");
		sb.append("<head>");
		sb.append("<title>跳转......</title>");
		sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset="
				+ charset + "\">");
		sb.append("</head>");
		sb.append("<body>");
		sb.append("<form action=\"" + actionUrl
				+ "\" method=\"post\" id=\"frm1\" style=\"display:none;\">");
		for (String key : params.keySet()) {
			sb.append("<input type=\"hidden\" name=" + key + " value=\""
					+ StringEscapeUtils.escapeHtml(String.valueOf(params.get(key))) + "\">");
		}
		sb.append("</form>");
		sb.append("<script type=\"text/javascript\">document.getElementById(\"frm1\").submit()</script>");
		sb.append("</body>");
		return sb.toString();
	}

	/**
	 * 名称：createAutoSubmitForm <br/>
	 * 描述：构造一个在页面加载完成自动提交的表单，可用于post表单数据（请求支付）等等。 <br/>
	 * @param charset
	 * @param form
	 * @return
	 */
	public static String createAutoSubmitForm(String charset,
			String form) {
		StringBuffer sb = new StringBuffer();
		sb.append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		sb.append("<html>");
		sb.append("<head>");
		sb.append("<title>跳转......</title>");
		sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset="
				+ charset + "\">");
		sb.append("</head>");
		sb.append("<body>");
		sb.append(form);
		sb.append("<script type=\"text/javascript\">document.getElementsByTagName(\"form\")[0].submit()</script>");
		sb.append("</body>");
		return sb.toString();
	}
}
